Test cases for software systems are written to cause execution of logical code units to verify that the software system works as intended. Many software systems implement a vast number of functions that utilize different combinations of logical code units. It can be desirable to exercise as many of these logical code unit combinations as practical in order to robustly test the software system.